import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

Vue.config.productionTip = false
import VueAwesomeSwiper from 'vue-awesome-swiper'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
// import style
import 'swiper/css/swiper.css'
import VueStorage from 'vue-ls'
import { Loading } from 'element-ui'
Vue.use(Loading)
Vue.use(ElementUI)
Vue.use(VueStorage)

Vue.use(VueAwesomeSwiper /* { default options with global component } */)
import echarts from 'echarts'

Vue.prototype.$echarts = echarts
// 路由守卫
// const whiteList = ["/login", "/login/forgetpass"]; // 白名单
router.beforeEach(async (to, from, next) => {
  // console.log('to', to, 'form', from, 'next', next)
  const token = Vue.ls.get('token') //本地获取token
  window.document.title = to.meta.title+'- 京粉客（www.jingfenke.com），打造导购内容生态'
  if (to.path == '/') {
    next({
      path: '/jdselectgoods/realtimelist'
    })
  }else if (to.path == '/login') {
    next()
  }else{
    next()
  }

  if (token) {
    //判断用户是否登录
    if (Object.keys(from.query).length === 0) {
      //判断路由来源是否有query，处理不是目的跳转的情况
      next()
    } else {
      const redirect = from.query.redirect //如果来源路由有query
      if (to.path === redirect) {
        //这行是解决next无限循环的问题
        next()
      } else {
        next({ path: redirect }) //跳转到目的路由
      }
    }
  }

  // next({
  //   path: "/homepage"
  // });
  // 根据meta设置头部title
  // console.log("store", store.state);
  // const hasToken = Vue.ls.get("token");
  // console.log("token", Vue.ls.get("token"));
  // if (hasToken) {
  //   // console.log(to);
  //   if (to.path === "/login") {
  //     if (to.query.active === "register") {
  //       next();
  //     } else {
  //       next({
  //         path: "/optimGoods/siftGoods"
  //       });
  //     }
  //   } else {
  //     next();
  //     if (to.path === "/") {
  //       next({
  //         path: "/optimGoods/siftGoods"
  //       });
  //     }
  //     // 权限的检测
  //     // if (store.state.auth.routes.length == 0) {
  //     //   // 调用store的初始化菜单的功能
  //     //   store
  //     //     .dispatch("auth/initClientMenu", hasToken.user.id)
  //     //     .then(() => {
  //     //       // console.log('跳转到...', from.path, to.path);
  //     //       next(to.path);
  //     //     })
  //     //     .catch(() => {
  //     //       next({
  //     //         path: "/login"
  //     //       });
  //     //     });
  //     // } else {
  //     //   next();
  //     // }
  //   }
  //   // if(to.path === "/login"){
  //   // }
  // } else {
  //   /* has no token*/
  //   // console.log(store.state);
  //   if (whiteList.indexOf(to.path) !== -1) {
  //     // in the free login whitelist, go directly
  //     next();
  //   } else {
  //     // other pages that do not have permission to access are redirected to the login page.
  //     // next(`/login?redirect=${to.path}`)   ?后面是来自哪个地址跳转过来的
  //     next(`/optimGoods/siftGoods`);
  //   }
  // }
})


new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
